<HTML>
<HEAD>
<meta charset="UTF-8">
<title>VideoSink - amazon-chime-sdk</title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
<a href="../../index.html">amazon-chime-sdk</a>&nbsp;/&nbsp;<a href="../index.html">com.amazonaws.services.chime.sdk.meetings.audiovideo.video</a>&nbsp;/&nbsp;<a href="./index.html">VideoSink</a><br/>
<br/>
<h1>VideoSink</h1>
<code><span class="keyword">interface </span><span class="identifier">VideoSink</span></code>
<p>A <a href="./index.html">VideoSink</a> consumes video frames, typically from a <a href="../-video-source/index.html">VideoSource</a>. It may process, fork, or render these frames.
Typically connected via <a href="../-video-source/add-video-sink.html">VideoSource.addVideoSink</a> and disconnected via <a href="../-video-source/remove-video-sink.html">VideoSource.removeVideoSink</a></p>
<h3>Functions</h3>
<table>
<tbody>
<tr>
<td>
<h4><a href="on-video-frame-received.html">onVideoFrameReceived</a></h4>
</td>
<td>
<p>Receive a video frame from some upstream source.
The <a href="./index.html">VideoSink</a> may render, store, process, and forward the frame, among other applications.</p>
<code><span class="keyword">abstract</span> <span class="keyword">fun </span><span class="identifier">onVideoFrameReceived</span><span class="symbol">(</span><span class="identifier" id="com.amazonaws.services.chime.sdk.meetings.audiovideo.video.VideoSink$onVideoFrameReceived(com.amazonaws.services.chime.sdk.meetings.audiovideo.video.VideoFrame)/frame">frame</span><span class="symbol">:</span>&nbsp;<a href="../-video-frame/index.html"><span class="identifier">VideoFrame</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
</tr>
</tbody>
</table>
<h3>Inheritors</h3>
<table>
<tbody>
<tr>
<td>
<h4><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video.backgroundfilter.backgroundblur/-background-blur-video-frame-processor/index.html">BackgroundBlurVideoFrameProcessor</a></h4>
</td>
<td>
<p><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video.backgroundfilter.backgroundblur/-background-blur-video-frame-processor/index.html">BackgroundBlurVideoFrameProcessor</a> Draws frames to RGBA, converts to CPU, identifies the
foreground person and blurs the background of a video frame.</p>
<code><span class="keyword">class </span><span class="identifier">BackgroundBlurVideoFrameProcessor</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-video-source/index.html"><span class="identifier">VideoSource</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">VideoSink</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video.backgroundfilter.backgroundreplacement/-background-replacement-video-frame-processor/index.html">BackgroundReplacementVideoFrameProcessor</a></h4>
</td>
<td>
<p><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video.backgroundfilter.backgroundreplacement/-background-replacement-video-frame-processor/index.html">BackgroundReplacementVideoFrameProcessor</a> Draws frames to RGBA, converts to CPU, identifies the foreground person
and replaces the background of a video frame.</p>
<code><span class="keyword">class </span><span class="identifier">BackgroundReplacementVideoFrameProcessor</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-video-source/index.html"><span class="identifier">VideoSource</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">VideoSink</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture/-default-camera-capture-source/index.html">DefaultCameraCaptureSource</a></h4>
</td>
<td>
<p><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture/-default-camera-capture-source/index.html">DefaultCameraCaptureSource</a> will configure a reasonably standard capture stream which will
use the <a href="https://developer.android.com/reference/android/view/Surface.html">Surface</a> provided by the capture source provided by a <a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture/-surface-texture-capture-source-factory/index.html">SurfaceTextureCaptureSourceFactory</a></p>
<code><span class="keyword">class </span><span class="identifier">DefaultCameraCaptureSource</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture/-camera-capture-source/index.html"><span class="identifier">CameraCaptureSource</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">VideoSink</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture/-default-screen-capture-source/index.html">DefaultScreenCaptureSource</a></h4>
</td>
<td>
<p><a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture/-default-screen-capture-source/index.html">DefaultScreenCaptureSource</a> uses <a href="https://developer.android.com/reference/android/media/projection/MediaProjection.html">MediaProjection</a> to create a <a href="https://developer.android.com/reference/android/hardware/display/VirtualDisplay.html">VirtualDisplay</a> to capture the
device screen. It will render the captured frames to a <a href="https://developer.android.com/reference/android/view/Surface.html">Surface</a> provided by a <a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture/-surface-texture-capture-source-factory/index.html">SurfaceTextureCaptureSourceFactory</a>.</p>
<code><span class="keyword">class </span><span class="identifier">DefaultScreenCaptureSource</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../com.amazonaws.services.chime.sdk.meetings.audiovideo.video.capture/-video-capture-source/index.html"><span class="identifier">VideoCaptureSource</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">VideoSink</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="../-video-render-view.html">VideoRenderView</a></h4>
</td>
<td>
<p><a href="../-video-render-view.html">VideoRenderView</a> is the type of VideoSink used by the <a href="../-video-tile-controller/index.html">VideoTileController</a></p>
<code><span class="keyword">interface </span><span class="identifier">VideoRenderView</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">VideoSink</span></a></code></td>
</tr>
<tr>
<td>
<h4><a href="../-video-tile/index.html">VideoTile</a></h4>
</td>
<td>
<p><a href="../-video-tile/index.html">VideoTile</a> is a tile that binds video render view to display the frame into the view.</p>
<code><span class="keyword">interface </span><span class="identifier">VideoTile</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">VideoSink</span></a></code></td>
</tr>
</tbody>
</table>
</BODY>
</HTML>
